package cn.edu.cqvie.atc.util;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

/**
 * 去除list中的重复元素
 * @author zhengsh
 */
public class ListDistance {

    public static void main(String[] args) {

        List<String> li = new ArrayList<>();
        li.add("a");
        li.add("a");
        li.add("b");
        li.add("c");

        lambdaVer(li);

        setVer(li);
    }

    /**
     * set 集合版本
     * @param li
     */
    private static void setVer(List<String> li) {
        Set<String> s = new HashSet<>(li);
        li.clear();
        li.addAll(s);
        print(li);
    }

    /**
     * jdk 1.8 lambda 版本
     * @param li
     */
    private static void lambdaVer(List<String> li) {
        List<String> l = li.stream().distinct().collect(Collectors.toList());
        print(l);
    }

    private static void print(List<String> l) {
        for (String s : l) {
            System.out.println(s);
        }
    }


}
